package com.zz.udp.test1;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

public class Client {
    public static void main(String args[]) throws Exception {
        //1.创建客户端对象
        DatagramSocket socket = new DatagramSocket();

        Scanner sc = new Scanner(System.in);
        //2.创建数据包对象，封装要发出的数据
        /**
         * public DatagramPacket(byte buf[], int length,
         * InetAddress address, int port)
         * 参数一：封装要发出去的数据
         * 参数二：发送出去的数据大小：（字节个数）
         * 参数三：服务端的IP地址（找到服务端主机）
         * 参数四：服务端程序的端口
         */
        while (true) {
            System.out.println("请说:");
            String msg = sc.nextLine();

            //一旦发现用户输入exit命令，就退出客户端
            if("exit".equals(msg)){
                System.out.println("欢迎下次光临，退出成功");
                socket.close();
                break;
            }
            byte[] bytes = msg.getBytes();
            DatagramPacket packet = new DatagramPacket(bytes, bytes.length, InetAddress.getLocalHost()
                    , 8888);

            //3.开始正式发送这个数据包的数据出去了
            socket.send(packet);
            System.out.println("客户端发送数据完毕~~~~");
        }
    }
}
